A UNIX® operating system, although a single computer operating system originally developed by Bell Laboratories and further refined at the University of California at Berkeley, also is sometimes used as a term for an entire family of operating systems and the most common programs or utilities of those operating systems. The reason for this may be historical. Since the source code of the early versions of UNIX was made generally available, different forms of UNIX began to evolve from the ones originally developed at the University of California. As is well known, some of the different versions of UNIX are specific to hardware manufacturers, while others arose from different sources.
Some of the most common versions of UNIX include HP-UX from the Hewlett-Packard Company, Solaris from Sun Microsystems, SVR4 from AT&T and AIX from International Business Machines (IBM). Other types of UNIX operating systems include SunOS, which was the predecessor to Solaris and Linux, the open source operating system.
When developers of application programs create their programs, they usually design their applications to work on or with a specified operating system. The operating system works in conjunction with the applications to handle all of the actions that can be made by the application. When there are multiple versions of UNIX, the developers of such software usually have to make certain that their applications work on one or more of the UNIX operating systems. The reason for this is simple. Customers of the applications may have servers that are operating one or more of the aforementioned different UNIX operating systems. When these customers acquire the applications they want to use, they want applications that run either on their already in use UNIX servers or they want to obtain applications that will work on one of the common UNIX operating systems mentioned above.
When applications are sold or distributed, they are, as is well known in the art, done on what is known as a distribution kit or installation media. The installation media is eventually used by system administrators to install the application software from the installation media onto the sever, which is running a particular UNIX operating system, and update the database of the operating system with information on the installed software. For example when certain information is available within the operating system, a system administrator may query the system and see what version of software is installed and by what vendor. Additionally an automatic uninstall option may also be provided, which removes the installed software and updates the operating system database accordingly. Installation media therefore, would, at a minimum, contain the application(s) acquired by the user and be ready to be installed on the user's servers, and as will be seen when native utilities are available, the aforementioned information is there to be used by the system administrator. However, creating installation media for applications where those applications are used on the different versions of the UNIX operating system can be both complex and difficult. As the contents of the installation media for each UNIX operating system has to in essence comply with the particular UNIX operating system, the simple creation of installation media for an application that can work with each one of the different UNIX operating systems can be a difficult and laborious task.
As is well known in the art, each UNIX operating system has a set of packaging utilities that are used to get the application onto installation media where a system administrator can then install it. The packaging utilities are unique to the particular UNIX operating system and are thus native to the operating system. Creation of installation packages for applications that run on these different types of operating systems is complicated.
It would be advantageous to have a simple automated system and method that can be used in the creation of installation media that makes use of native functionality provided by different UNIX packaging utilities.
It would also be advantageous to have a simple automated system and method, which utilizes the native functionality from the different operating systems without a user having to have knowledge of the native utilities.
It would also be advantageous to have a single system that can be used to create installation media for a variety of applications using different operating systems.